<?php
/*******************************************************************************

    FinalsClub.org is a platform for students and faculty to collaborate
    and share their knowledge with the world.

    Copyright (C) 2009  Andrew Magliozzi

    This file is a part of FinalsClub.org.

    FinalsClub.org is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    To contact FinalsClub.org, send an email to info@finalsclub.org, or
    send mail to Finals Club, c/o Veritas Tutors, 1132 Massachusetts Avenue,
    Cambridge, MA 02138.

*******************************************************************************/

/**
 * sentSpam actions.
 *
 * @package    FinalsClub
 * @subpackage sentSpam
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
 */
class sentSpamActions extends sfActions
{
  public function executeIndex(sfWebRequest $request)
  {
    $this->sent_spam_list = SentSpamPeer::doSelect(new Criteria());
  }

  public function executeNew(sfWebRequest $request)
  {
    $this->form = new SentSpamForm();
  }

  public function executeCreate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod('post'));

    $this->form = new SentSpamForm();

    $this->processForm($request, $this->form);

    $this->setTemplate('new');
  }

  public function executeEdit(sfWebRequest $request)
  {
    $this->forward404Unless($sent_spam = SentSpamPeer::retrieveByPk($request->getParameter('id')), sprintf('Object sent_spam does not exist (%s).', $request->getParameter('id')));
    $this->form = new SentSpamForm($sent_spam);
  }

  public function executeUpdate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod('post') || $request->isMethod('put'));
    $this->forward404Unless($sent_spam = SentSpamPeer::retrieveByPk($request->getParameter('id')), sprintf('Object sent_spam does not exist (%s).', $request->getParameter('id')));
    $this->form = new SentSpamForm($sent_spam);

    $this->processForm($request, $this->form);

    $this->setTemplate('edit');
    
  }

  public function executeDelete(sfWebRequest $request)
  {
    $request->checkCSRFProtection();

    $this->forward404Unless($sent_spam = SentSpamPeer::retrieveByPk($request->getParameter('id')), sprintf('Object sent_spam does not exist (%s).', $request->getParameter('id')));
    $sent_spam->delete();

    $this->redirect('sentSpam/index');
  }
  

  protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
      $sent_spam = $form->save();

      $this->redirect('sentSpam/edit?id='.$sent_spam->getId());
    }
  }
}
